TOP

Import of exchange rates from the NBU website to LibreOffice Calc

NBU_RATE() Description

A ready-made function for those who often have to use currency rates NBU in LibreOffice Calc .

Helps to automatically obtain the value of the exchange rate from NBU website by its code and date.


StarBASIC code for function NBU_RATE

To add a feature import exchange rates of the NBU , open the menu Tools - Macros - Edit Macros... , select Module1 and copy the following text into this module:

Function NBU_RATE(ByVal pCurrency, ByVal pDate)
  'moonexcel.com.ua 
  Dim FCalc As Object
  
  If Len(pCurrency) = 0 Or Len(pDate) = 0 Then Exit Function             
      
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
  
  tDate = FCalc.callFunction("TEXT", Array(pDate,"YYYYMMDD"))
                                                    
  RequestString = "https://bank.gov.ua/NBU_Exchange/exchange_site?start=" & tDate & "&end=" & tDate & "&valcode=" & pCurrency
            
  WebServiceResponse = FCalc.callFunction("WEBSERVICE", Array(RequestString))  
  
  NBU_RATE = FCalc.callFunction("FILTERXML", Array(WebServiceResponse,"//rate_per_unit"))    
End Function

Close it Macro Editor and return to LibreOffice Calc .

Now you can manually enter our function NBU_RATE() . The syntax of this function is as follows:

=NBU_RATE ( currency code ; date )

We will have the following result:

Using the extension

You can also use the NBUA() function by installing the free extension YouLibreCalc.oxt or its full-featured version YLC_Utilities.oxt .

After that, this function will be available in all files that will be opened in LibreOffice Calc.

The YLC Utilities menu in LO Calc

The YLC Utilities menu in LO Calc

The YLC Utilities menu in Excel

The YLC Utilities menu in Excel